Provably Correct Runtime Monitoring

نویسندگان

  • Irem Aktug
  • Mads Dam
  • Dilian Gurov
چکیده

Runtime monitoring is an established technique to enforce a wide range of programsafety and security properties. We present a formalization of monitoring and monitorinlining, for the Java Virtual Machine. Monitors are security automata given in aspecial-purpose monitor specification language, ConSpec. The automata operateon finite or infinite strings of calls to a fixed API, allowing local dependencies onparameter values and heap content. We use a two-level class file annotation schemeto characterize two key properties: (i) that the program is correct with respect tothe monitor as a constraint on allowed program behavior, and (ii) that the programhas a copy of the given monitor embedded into it. As the main application ofthese results we sketch a simple inlining algorithm and show how the two-levelannotations can be completed to produce a fully annotated program which is validin the standard sense of Floyd/Hoare logic. This establishes the mediation propertythat inlined programs are guaranteed to adhere to the intended policy. Furthermore,validity can be checked efficiently using a weakest precondition based annotationchecker, thus preparing the ground for on-device checking of policy adherence in aproof-carrying code setting. Email addresses: [email protected] (Irem Aktug), [email protected] (Mads Dam),[email protected] (Dilian Gurov).1 The work was supported by the EU FP6 IST-STREP-27004 project S3MS, Secu-rity of Software and Services for Mobile Systems. Additionally, the second authorwas partially supported by the ACCESS Linnaeus Center at KTH, the Royal Insti-tute of Technology, and by the Swedish Research Council, projects 2003-6108 and2007-6436. Preprint submitted to Elsevier Science2 January 2009

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Provably Correct Runtime Monitoring ? ( Extended Abstract )

Runtime monitoring is an established technique for enforcing a wide range of program safety and security properties. We present a formalization of monitoring and monitor inlining, for the Java Virtual Machine. Monitors are security automata given in a special-purpose monitor specification language, ConSpec. The automata operate on finite or infinite strings of calls to a fixed API, allowing loc...

متن کامل

ModelPlex: Verified Runtime Validation of Verified Cyber-Physical System Models (CMU-CS-14-121)

Formal verification and validation play a crucial role in making cyber-physical systems (CPS) safe. Formal methods make strong guarantees about the system behavior if accurate models of the system can be obtained, including models of the controller and of the physical dynamics. In CPS, models are essential; but any model we could possibly build necessarily deviates from the real world. If the r...

متن کامل

ModelPlex: Verified Runtime Validation of Verified Cyber-Physical System Models

Formal verification and validation play a crucial role in making cyber-physical systems (CPS) safe. Formal methods make strong guarantees about the system behavior if accurate models of the system can be obtained, including models of the controller and of the physical dynamics. In CPS, models are essential; but any model we could possibly build necessarily deviates from the real world. If the r...

متن کامل

Common Runtime Support for Assertions

Behavioural specifications in interface contracts are important measures for improving quality of software components. Common support for assertions as first class constructs in binary components and at runtime provides many benefits for better contracts specification and monitoring. Behavioural specifications in the spirit of Design by Contract can accompany binary components and be available ...

متن کامل

The Runtime Monitoring Framework of SERENITY

This chapter describes SERENITY’s approach to runtime monitoring and the framework that has been developed to support it. Runtime monitoring is required in SERENITY in order to check for violations of security and dependability properties which are necessary for the correct operation of the security and dependability solutions that are available from the SERENITY framework. This chapter discuss...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008